package com.settlement.system.model.entity.common;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.alibaba.excel.annotation.write.style.HeadRowHeight;
import com.alibaba.excel.annotation.write.style.HeadStyle;
import com.settlement.system.converter.BalanceTypeConvert;
import io.swagger.annotations.ApiModelProperty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 收退款-其他货币资金日记账
 * @author Ximi
 * @since 2020-07-14
 */
@Data
@ExcelIgnoreUnannotated
@HeadStyle(fillBackgroundColor = 9,fillForegroundColor = 9)
@HeadRowHeight(value = 20)
@HeadFontStyle(fontHeightInPoints = 14)
public class TblRrOtherCapitalDetail extends BaseModel implements Serializable {


    /**
     * NC_店铺
     */
    @ApiModelProperty(value = "NC_店铺")
    private String ncShopName;

    /**
     * 虚拟账户名称
     */
    @ApiModelProperty(value = "虚拟账户名称")
    private String ncVirtualAccountName;

    /**
     * 月份
     */
    @ColumnWidth(12)
    @ExcelProperty(value = "月份")
    @ApiModelProperty(value = "月份",required = true)
    @NotNull(message = "月份不能为空")
    private String capitalMonth;

    /**
     * 账簿简称
     */
    @ColumnWidth(16)
    @ExcelProperty(value = "账簿简称")
    @ApiModelProperty(value = "账簿简称")
    private String ncEnterAccountBody;

    /**
     * 渠道编码
     */
    @ApiModelProperty(value = "渠道编码")
    private String channelNo;

    /**
     * 渠道
     */
    @ColumnWidth(14)
    @ExcelProperty(value = "渠道")
    @ApiModelProperty(value = "渠道")
    @NotNull(message = "渠道")
    private String channelName;

    /**
     * 余额类型
     */
    @ColumnWidth(14)
    @ExcelProperty(value = "余额类型",converter = BalanceTypeConvert.class)
    @ApiModelProperty(value = "余额类型")
    @NotNull(message = "余额类型")
    private String balanceType;

    /**
     * 零售店铺编码
     */
    @ColumnWidth(20)
    @ExcelProperty(value = "零售店铺编码")
    @ApiModelProperty(value = "零售店铺编码")
    @NotNull(message = "零售店铺编码")
    private String shopNo;

    /**
     * 零售店铺名称
     */
    @ColumnWidth(22)
    @ExcelProperty(value = "零售店铺名称")
    @ApiModelProperty(value = "零售店铺名称")
    @NotNull(message = "零售店铺名称")
    private String shopName;

    /**
     * 店铺账号
     */
    @ColumnWidth(22)
    @ExcelProperty(value = "店铺账号")
    @ApiModelProperty(value = "店铺账号")
    private String shopAccount;

    /**
     * 页面余额
     */
    @ColumnWidth(14)
    @ExcelProperty(value = "页面余额")
    @ApiModelProperty(value = "页面余额")
    private BigDecimal pageRemainAmount;

    /**
     * 截图地址
     */
    @ColumnWidth(20)
    @ExcelProperty(value = "截图地址")
    @ApiModelProperty(value = "截图地址")
    private String fileUrl;


}
